package co.com.inversiones.xyz.ltda.bl.impl;

import java.util.Date;
import java.util.List;

import co.com.inversiones.xyz.ltda.bl.HistoricoBl;
import co.com.inversiones.xyz.ltda.dao.HistoricoDao;
import co.com.inversiones.xyz.ltda.dto.Historico;
import co.com.inversiones.xyz.ltda.exception.BlException;
import co.com.inversiones.xyz.ltda.exception.DaoException;

public class HistoricoBLImpl implements HistoricoBl{

	HistoricoDao historicoDAO;
	public HistoricoDao getHistoricoDAO() {
		return historicoDAO;
	}

	public void setHistoricoDAO(HistoricoDao historicoDAO) {
		this.historicoDAO = historicoDAO;
	}

	@Override
	public void guardarHistorico(String autorTramite,
			String estadoInicial, String estadoFinal, int solicitud)
			throws DaoException, BlException {
		
		if(autorTramite == null || "".equals(autorTramite)){
			throw new BlException("El autor del tramite no puede ser una valor nulo o vacio");
		}
		
		if(estadoInicial == null || "".equals(estadoInicial)){
			throw new BlException("El estado inicial no puede ser una valor nulo o vacio");
		}
		
		if(estadoFinal == null || "".equals(estadoFinal)){
			throw new BlException("El estado final no puede ser una valor nulo o vacio");
		}
		
		Historico historico = new Historico();
		
		historico.setAutorTramite(autorTramite);
		historico.setEstadoInicial(estadoInicial);
		historico.setEstadoFinal(estadoFinal);
		historico.setSolicitud(solicitud);
		historico.setFechaTramite(new Date());
		
		historicoDAO.guardarHistorico(historico);
		
		
	}

	@Override
	public List<Historico> getHistorico() throws DaoException, BlException {
		return historicoDAO.getHistorico();
	}


}
